/*
 * This is a copy of param.def as distributed with iv 3.1, except
 * for the definition of SrcRoot below, its use in defining
 * the make variable IVSRC, and the initialization of the REPOSITORY_FILES
 * make variable used by the new cmscript rules in rules.def.  
 */

/*
 * Directory for software projects
 */
#ifndef ProjectDir
#define ProjectDir /proj
#endif

   PROJECTDIR = ProjectDir


/*
 * Override SrcRoot in local.def to refer to the uninstalled iv 3.1 src tree 
 * in an absolute location.
 */
#ifndef SrcRoot
#define SrcRoot $(TOP)
#endif

/*
 * Name of the software release
 */
#ifndef Release
#define	Release ivtools-1.2.8
#endif

   RELEASE = Release

/*
 * VersionNumber
 */
#ifndef Version
#define	Version 1.2.8
#endif

   VERSION = Version

/* 
 * Override RepositoryFiles in local.def to change the default list of
 * files to put in the repository.  
 */
#ifndef RepositoryFiles
#define RepositoryFiles *.c *.cc *.cxx *.C *.h Imakefile *.def template \
README INSTALL VERSION MANIFEST COPYRIGHT ANNOUNCE README.ivmkcm *.patch *.bugfix.? *.script \
*.sed comutil.arg comterp.err comutil.ci comterp.arg comterp.ci \
site.def.SUN4 site.def.LINUX site.def.SGI site.def.HP800 site.def.ALPHA site.def.CYGWIN site.def.NETBSD site.def.FREEBSD \
WishList *.defaults *.cf HOWTO Copyright *.sh CHANGES CHANGES-0.? CHANGES-1.? *.cpp ivmkmf *.bash *.1  *.3 \
config.guess config.sub configure configure.in MANIFEST.perceps MANIFEST.comterp *.mk config.mk.in *.tmpl *.flt *.m4 config.defs.in
#endif

   REPOSITORY_FILES = RepositoryFiles

/*
 * Define which optional parts of the system should be built by default.
 * You can override these parameters in local.def if needed.
 */
#ifndef BuildGLContext
#define BuildGLContext		NO	/* default is no GL glyphs */
#endif

#ifndef BuildIV_2_6
#define BuildIV_2_6		YES	/* until we replace the old stuff */
#endif

#ifndef BuildLibTask
#define BuildLibTask		NO	/* not fully working yet */
#endif

#ifndef BuildLibgraphic
#define BuildLibgraphic		NO	/* obsoleted by libUnidraw */
#endif

#ifndef BuildRPCClasses
#define BuildRPCClasses		NO	/* requires iostreams & TCP sockets */
#endif

/*
 * Define which values platform-specific parameters should have by default.
 * You can override these parameters in local.def too if needed.
 */
#ifndef BourneShell
#define BourneShell /bin/sh		/* force shell in makefile */
#endif

#ifndef ExecableScripts
#if SystemV
#define ExecableScripts		NO
#else
#define ExecableScripts		YES	/* kernel exec() can handle #! */
#endif
#endif

#ifndef HasLargeTmp
#define HasLargeTmp		NO	/* be paranoid */
#endif

#ifndef HasRanlibCmd
#if SystemV || SystemV4
#define HasRanlibCmd		NO
#else
#define HasRanlibCmd		YES	/* Berkeleyism */
#endif
#endif

#ifndef HasDynamicSharedLibraries
#define HasDynamicSharedLibraries	NO	/* no shared libraries by default */
#endif
#if defined(UseNonShared) && defined(InObjectCodeDir)
#undef  HasDynamicSharedLibraries
#define HasDynamicSharedLibraries	NO	/* don't use them anyway */
#endif

#ifndef InstallRelative
#define InstallRelative		YES	/* install in place */
#endif
#ifdef UseInstalled
#undef  InstallRelative
#define InstallRelative		NO	/* need absolute pathnames */
#endif

#ifndef OSMajorVersion
#define OSMajorVersion          0
#endif

#ifndef OSMinorVersion
#define OSMinorVersion          0
#endif

#ifndef RemoveAfterInstall
#define RemoveAfterInstall	YES	/* conserve disk space */
#endif

#ifndef StripInstalledPrograms
#define StripInstalledPrograms	YES	/* conserve disk space */
#endif

#ifndef SystemV
#define SystemV			NO	/* SYSV (R3) */
#endif

#ifndef SystemV4
#define SystemV4		NO	/* SVR4 */
#endif

#ifndef TurnOnDebugging
#define TurnOnDebugging		NO	/* no debugging by default */
#endif
#if defined(UseDebug) && defined(InObjectCodeDir)
#undef  TurnOnDebugging
#define TurnOnDebugging		YES	/* force debugging anyway */
#endif

#ifndef TurnOnOptimizing
#define TurnOnOptimizing	NO	/* no optimizing by default */
#endif
#if defined(UseDebug) && defined(InObjectCodeDir)
#undef  TurnOnOptimizing
#define TurnOnOptimizing	NO	/* disable optimizing anyway */
#endif

              SHELL = BourneShell

/*
 * Define how to regenerate Makefiles, update their dependencies, and
 * execute recursive make commands.
 */
#ifndef ImakeCmd
#define ImakeCmd imake
#endif

#ifndef ImakeFlags
#define ImakeFlags \							@@\
		      -T IMAKE_TEMPLATE\				@@\
		      ImakeIncludes\					@@\
		      $(SPECIAL_IMAKEFLAGS)
#endif

#ifndef ImakeIncludes
#ifdef UseInstalled
#define ImakeIncludes -I$(CONFIGDIR) -I$(XCONFIGDIR)
#else
#define ImakeIncludes -I$(CONFIGSRC) -I$(XCONFIGDIR)
#endif
#endif

#ifndef SpecialImakeFlags
#define SpecialImakeFlags \
 SpecialInObjectCodeDir SpecialUseDebug SpecialUseInstalled SpecialUseNonShared
#endif

#ifndef SpecialInObjectCodeDir
#ifdef InObjectCodeDir
#define SpecialInObjectCodeDir -f $(SRC)/Imakefile -DInObjectCodeDir
#else
#define SpecialInObjectCodeDir /**/
#endif
#endif

#ifndef SpecialUseDebug
#if defined(UseDebug) && defined(InObjectCodeDir)
#define SpecialUseDebug -DUseDebug
#else
#define SpecialUseDebug /**/
#endif
#endif

#ifndef SpecialUseInstalled
#ifdef UseInstalled
#define SpecialUseInstalled -DUseInstalled
#else
#define SpecialUseInstalled /**/
#endif
#endif

#ifndef SpecialUseNonShared
#if defined(UseNonShared) && defined(InObjectCodeDir)
#define SpecialUseNonShared -DUseNonShared
#else
#define SpecialUseNonShared /**/
#endif
#endif

#ifndef DependCmd
#define DependCmd makedepend
#endif

#ifndef DependCCFlags
#define DependCCFlags -DMAKEDEPEND $(CCDEFINES) $(CCINCLUDES) -I/usr/include/CC
#endif

#ifndef MakeCmd
#define MakeCmd make
#endif

#ifndef PassArch
#define PassArch ARCH="$(ARCH)" SPECIAL_IMAKEFLAGS="$(SPECIAL_IMAKEFLAGS)" CMFLAGS="$(CMFLAGS)" CMMSG="$(CMMSG)"
#endif

#ifndef ArchitectureName
#define ArchitectureName UNKNOWN
#endif

#ifndef ArchOrCPU
#ifdef InObjectCodeDir
#define ArchOrCPU ArchitectureName
#else
#define ArchOrCPU $(CPU)
#endif
#endif

#ifndef SpecialArch
#if defined(UseDebug) && defined(InObjectCodeDir)
#define SpecialArch .debug
#else
#if defined(UseNonShared) && defined(InObjectCodeDir)
#define SpecialArch .noshared
#else
#define SpecialArch /**/
#endif
#endif
#endif

              IMAKE = ImakeCmd
         IMAKEFLAGS = ImakeFlags
 SPECIAL_IMAKEFLAGS = SpecialImakeFlags
             DEPEND = DependCmd
     DEPEND_CCFLAGS = DependCCFlags
               MAKE = MakeCmd
           PASSARCH = PassArch
          ARCHORCPU = ArchOrCPU
               ARCH = $(ARCHORCPU)$(SPECIAL_ARCH)
       SPECIAL_ARCH = SpecialArch

/*
 * Define how to compile a C++ file with the CC driver.
 * Always use +p ("pure") to flag anachronisms as errors.
 */
#ifndef CCDriver
#define CCDriver CC +p			/* might want an absolute path, etc. */
#endif

#ifndef CCSuffix
#define CCSuffix c			/* might want cc, cxx, C, etc. */
#endif

/*
 * Define how to compile a C file with the C driver.
 * Always use +p ("pure") to flag anachronisms as errors.
 */
#ifndef CDriver
#define CDriver gcc
#endif

#ifndef CSuffix
#define CSuffix c
#endif

#ifndef SrcDir
#ifdef InObjectCodeDir
#define SrcDir ..
#else
#define SrcDir .
#endif
#endif

#ifndef SrcsList
#define SrcsList $(SRC)$(SLASH)*.$(CCSUFFIX)
#endif

#ifndef ObjsList
#define ObjsList *.o
#endif

#ifndef AoutName
#define AoutName a.out
#endif

           CCDRIVER = CCDriver
           CCSUFFIX = CCSuffix
            CDRIVER = CDriver
            CSUFFIX = CSuffix
                SRC = CURDIR/SrcDir
              SLASH = /
               SRCS = SrcsList
               OBJS = ObjsList
               AOUT = AoutName

/*
 * Define all the flags passed to the CC driver when we compile a C++ file.
 */
#ifndef CCFlags
#define CCFlags $(APP_CCFLAGS) $(IV_CCFLAGS) $(OTHER_CCFLAGS) $(EXTRA_CCFLAGS)
#endif

#ifndef IvCCFlags
#define IvCCFlags \							@@\
		      DefaultDebugCCFlags\				@@\
		      DefaultOptimizeCCFlags\				@@\
		      $(SHARED_CCFLAGS)\				@@\
		      $(CCDEFINES)\					@@\
		      $(CCINCLUDES)
#endif

#ifndef IvCFlags
#define IvCFlags \							@@\
		      DefaultDebugCCFlags\				@@\
		      DefaultOptimizeCCFlags\				@@\
		      $(SHARED_CCFLAGS)\				@@\
		      $(CDEFINES)\					@@\
		      $(CCINCLUDES)
#endif

#ifndef DefaultDebugCCFlags
#if TurnOnDebugging
#define DefaultDebugCCFlags $(DEBUG_CCFLAGS)
#else
#define DefaultDebugCCFlags /**/
#endif
#endif

#ifndef DefaultOptimizeCCFlags
#if TurnOnOptimizing
#define DefaultOptimizeCCFlags $(OPTIMIZE_CCFLAGS)
#else
#define DefaultOptimizeCCFlags /**/
#endif
#endif

#ifndef DebugCCFlags
#if TurnOnOptimizing && !TurnOnDebugging
#define DebugCCFlags /**/
#else
#if LibStdCPlusPlusV3==1
#define DebugCCFlags -gdwarf-2
#else
#define DebugCCFlags -g
#endif
#endif
#endif

#ifndef OptimizeCCFlags
#if TurnOnDebugging && !TurnOnOptimizing
#define OptimizeCCFlags /**/
#else
#define OptimizeCCFlags -O
#endif
#endif

#ifndef SharedCCFlags
#if HasDynamicSharedLibraries
#define SharedCCFlags -PIC
#else
#define SharedCCFlags /**/
#endif
#endif

#ifndef ExtraCCFlags
#define ExtraCCFlags /**/
#endif

#ifndef OtherCCFlags
#define OtherCCFlags /**/
#endif

            CCFLAGS = CCFlags
         IV_CCFLAGS = IvCCFlags
          IV_CFLAGS = IvCFlags
      DEBUG_CCFLAGS = DebugCCFlags
   OPTIMIZE_CCFLAGS = OptimizeCCFlags
     SHARED_CCFLAGS = /* defined when MakeLibrary() is used in Imakefile */
      EXTRA_CCFLAGS = ExtraCCFlags
#if 0 /* moved to individual Imakefile's */
      OTHER_CCFLAGS = OtherCCFlags
#endif

/*
 * Define the defines passed to the CC driver when we compile a C++ file.
 */
#ifndef CCDefines
#define CCDefines $(APP_CCDEFINES) $(IV_CCDEFINES) $(OTHER_CCDEFINES) $(EXTRA_CCDEFINES) 
#endif

#ifndef IvCCDefines
#define IvCCDefines $(LANGUAGE_CCDEFINES) $(BACKWARD_CCDEFINES)
#endif

/*
 * Define the defines passed to the C compiler when we compile a C file.
 */
#ifndef CDefines
#define CDefines $(APP_CCDEFINES) $(IV_CDEFINES) $(OTHER_CCDEFINES) $(EXTRA_CCDEFINES) 
#endif

#ifndef IvCDefines
#define IvCDefines -D_POSIX_C_SOURCE $(BACKWARD_CCDEFINES)
#endif

#ifndef BackwardCompatibilityCCDefines
#define BackwardCompatibilityCCDefines -Div2_6_compatible
#endif

#ifndef ExtraCCDefines
#if SystemV
#define ExtraCCDefines -DSYSV
#else
#if SystemV4
#define ExtraCCDefines -DSVR4
#else
#define ExtraCCDefines /**/
#endif
#endif
#endif

#ifndef ClipPolyCCDefines
#ifdef ClipPolyDir
#define ClipPolyCCDefines -DCLIPPOLY
#else
#define ClipPolyCCDefines /**/
#endif
#endif

#ifndef AceCCDefines
#ifdef AceDir
#define AceCCDefines -DHAVE_ACE /* -DACE_MT_SAFE=0 */
#else
#define AceCCDefines /**/
#endif
#endif

#ifndef IueCCDefines
#ifdef IueDir
#define IueCCDefines -DIUE -DGCC272
#else
#define IueCCDefines /**/
#endif
#endif

#ifndef QtCCDefines
#ifdef QtDir
#define QtCCDefines /**/
#else
#define QtCCDefines /**/
#endif
#endif

#ifndef TiffCCDefines
#ifdef TiffDir
#define TiffCCDefines -DEXTERN_TIFF
#else
#define TiffCCDefines /**/
#endif
#endif

#ifndef OtherCCDefines
#define OtherCCDefines $(CLIPPOLY_CCDEFINES) $(ACE_CCDEFINES) $(IUE_DEFINES) $(QT_DEFINES) $(TIFF_CCDEFINES)
#endif

          CCDEFINES = CCDefines
       IV_CCDEFINES = IvCCDefines
           CDEFINES = CDefines
        IV_CDEFINES = IvCDefines
 LANGUAGE_CCDEFINES = LanguageCCDefines
 BACKWARD_CCDEFINES = /* defined when Use_2_6() is used in Imakefile */
    EXTRA_CCDEFINES = ExtraCCDefines
#if 0 /* moved to individual Imakefile's */
    OTHER_CCDEFINES = OtherCCDefines
#endif

 CLIPPOLY_CCDEFINES = ClipPolyCCDefines
      ACE_CCDEFINES = AceCCDefines
      IUE_CCDEFINES = IueCCDefines
       QT_CCDEFINES = QtCCDefines
     TIFF_CCDEFINES = TiffCCDefines

/*
 * Define the includes passed to the CC driver when we compile a C++ file.
 * Ensure TopCCIncludes and XCCIncludes don't pass -I/usr/include to the CC
 * driver since it could override /usr/include/CC, messing up system headers.
 */
#ifndef CCIncludes
#define CCIncludes $(APP_CCINCLUDES) $(OTHER_CCINCLUDES) $(EXTRA_CCINCLUDES) 
#endif

#ifndef BackwardCompatibilityCCIncludes
#ifdef UseInstalled
#define BackwardCompatibilityCCIncludes -I$(INCDIR)/IV-2_6
#else
#define BackwardCompatibilityCCIncludes -I$(INCSRC)/IV-2_6
#endif
#endif

#ifndef TopCCIncludes
#ifdef UseInstalled
#define TopCCIncludes -I$(INCDIR)
#else
#define TopCCIncludes -I$(INCSRC)
#endif
#endif

#ifndef XCCIncludes
#ifdef XIncDir
#define XCCIncludes -I$(XINCDIR)
#else
#define XCCIncludes /**/
#endif
#endif

#ifndef ExtraCCIncludes
#define ExtraCCIncludes /**/
#endif

#ifndef ClipPolyCCIncludes
#ifdef ClipPolyDir
#define ClipPolyCCIncludes -I$(CLIPPOLYDIR)
#else
#define ClipPolyCCIncludes /**/
#endif
#endif

#ifndef AceCCIncludes
#ifdef AceDir
#define AceCCIncludes -I$(ACEDIR)
#else
#define AceCCIncludes /**/
#endif
#endif

#ifndef IueCCIncludes
#ifdef IueDir
#define IueCCIncludes -I$(IUEDIR)/COOL -I$(IUEDIR)/GeneralUtility -I$(IUEDIR)/Image -I$(IUEDIR)/Smallg++ -I$(IUEDIR)/Tasks-IUE/RegionsOfInterest-AAI -I$(IUEDIR)/Image-IUE -I$(IUEDIR)/Basics-IUE -I$(IUEDIR)/Dex2
#else
#define IueCCIncludes /**/
#endif
#endif

#ifndef QtCCIncludes
#ifdef QtDir
#define QtCCIncludes -I$(QTINCS)
#else
#define QtCCIncludes /**/
#endif
#endif

#ifndef TiffCCIncludes
#ifdef TiffDir
#define TiffCCIncludes -I$(TIFFDIR)/include
#else
#define TiffCCIncludes /**/
#endif
#endif

#ifndef OtherCCIncludes
#define OtherCCIncludes $(CLIPPOLY_CCINCLUDES) $(ACE_CCINCLUDES) $(IUE_CCINCLUDES) $(QT_CCINCLUDES) $(TIFF_CCINCLUDES)
#endif

         CCINCLUDES = CCIncludes
      IV_CCINCLUDES = IvCCIncludes
BACKWARD_CCINCLUDES = /* defined when Use_2_6() is used in Imakefile */
     TOP_CCINCLUDES = TopCCIncludes
       X_CCINCLUDES = XCCIncludes
   EXTRA_CCINCLUDES = ExtraCCIncludes
#if 0 /* moved to individual Imakefile's */
   OTHER_CCINCLUDES = OtherCCIncludes
#endif

CLIPPOLY_CCINCLUDES = ClipPolyCCIncludes
     ACE_CCINCLUDES = AceCCIncludes
     IUE_CCINCLUDES = IueCCIncludes
      QT_CCINCLUDES = QtCCIncludes
    TIFF_CCINCLUDES = TiffCCIncludes
#ifdef ClipPolyDir
        CLIPPOLYDIR = ClipPolyDir
#endif
#ifdef AceDir
             ACEDIR = AceDir
#endif
#ifdef AceLibDir
          ACELIBDIR = AceLibDir
#endif
#ifdef IueDir
             IUEDIR = IueDir
#endif
#ifdef QtDir
              QTDIR = QtDir
#endif
#ifdef TiffDir
            TIFFDIR = TiffDir
#endif

/*
 * Define the flags passed to the CC driver when we link a C++ program.
 */
#ifndef CCLdFlags
#define CCLdFlags $(APP_CCLDFLAGS) $(IV_CCLDFLAGS) $(OTHER_CCLDFLAGS) $(EXTRA_CCLDFLAGS) 
#endif

#ifndef IvCCLdFlags
#define IvCCLdFlags \							@@\
		      DefaultDebugCCFlags\				@@\
		      DefaultOptimizeCCFlags\				@@\
		      $(NONSHARED_CCLDFLAGS)
#endif

/*
 * Define all the flags passed to the C driver when we compile a C file.
 * 10/3/05:  change to $(IV_CFLAGS) to avoid -Wno-deprecated warning
 */
#ifndef CFlags
#define CFlags $(APP_CCFLAGS) $(IV_CFLAGS) $(OTHER_CCFLAGS) $(EXTRA_CCFLAGS)  
#endif

             CFLAGS = CFlags

/*
 * Flags that are specific to the link line to build a shared library.
 * These should be defined in the platform-specific config file.
 */
#ifndef SharedCCLdFlags
#define SharedCCLdFlags /**/
#endif

#ifndef NonSharedCCLdFlags
#if defined(UseNonShared) && defined(InObjectCodeDir)
#define NonSharedCCLdFlags -Bstatic
#else
#define NonSharedCCLdFlags /**/
#endif
#endif

#ifndef ExtraCCLdFlags
#define ExtraCCLdFlags /**/
#endif

#ifndef OtherCCLdFlags
#define OtherCCLdFlags /**/
#endif

          CCLDFLAGS = CCLdFlags
       IV_CCLDFLAGS = IvCCLdFlags
NONSHARED_CCLDFLAGS = NonSharedCCLdFlags
   SHARED_CCLDFLAGS = SharedCCLdFlags
    EXTRA_CCLDFLAGS = ExtraCCLdFlags
#if 0 /* moved to individual Imakefile's */
    OTHER_CCLDFLAGS = OtherCCLdFlags
#endif

/*
 * Define all the dependencies a C++ program can have on its libraries.
 */
#ifndef CCDepLibs
#define CCDepLibs $(APP_CCDEPLIBS) $(IV_CCDEPLIBS) $(OTHER_CCDEPLIBS) $(EXTRA_CCDEPLIBS) $(_CCDEPLIBS)
#endif

#ifndef IvCCDepLibs
#define IvCCDepLibs \							@@\
		      $(DEPLIBUNIDRAW)\					@@\
		      $(DEPLIBGRAPHIC)\					@@\
		      $(DEPLIBIV)\					@@\
		      $(DEPLIBXEXT)\					@@\
		      $(DEPLIBX11)\					@@\
		      $(DEPLIBM)
#endif

#ifndef DepPath
#if HasDynamicSharedLibraries || defined(UseInstalled)
#define DepPath(name) /* as nothing */
#else
#define DepPath(name) Concat($(LIBSRC)/name/$(ARCH)/lib,name.a)
#endif
#endif

#ifndef Dep_libUnidraw
#define Dep_libUnidraw DepPath(Unidraw)
#endif
#ifndef Dep_libgraphic
#define Dep_libgraphic DepPath(graphic)
#endif
#ifndef Dep_libIV
#define Dep_libIV DepPath(IV)
#endif
#ifndef Dep_libXext
#define Dep_libXext /* as nothing */
#endif
#ifndef Dep_libX11
#define Dep_libX11 /* as nothing */
#endif
#ifndef Dep_libm
#define Dep_libm /* as nothing */
#endif

#ifndef ExtraCCDepLibs
#define ExtraCCDepLibs /**/
#endif

#ifndef OtherCCDepLibs
#define OtherCCDepLibs /**/
#endif

          CCDEPLIBS = CCDepLibs
       IV_CCDEPLIBS = IvCCDepLibs
    EXTRA_CCDEPLIBS = ExtraCCDepLibs
#if 0 /* moved to individual Imakefile's */
    OTHER_CCDEPLIBS = OtherCCDepLibs
#endif

/*
 * Define all the libraries a C++ program can be linked with.
 */
#ifndef CCLdLibs
#define CCLdLibs $(APP_CCLDLIBS) $(IV_CCLDLIBS) $(OTHER_CCLDLIBS) $(EXTRA_CCLDLIBS) 
#endif

#ifndef IvCCLdLibs
#define IvCCLdLibs \							@@\
		      $(LIBDIRPATH)\					@@\
		      $(LDLIBUNIDRAW)\					@@\
		      $(LDLIBGRAPHIC)\					@@\
		      $(LDLIBIV)\					@@\
		      $(XLIBDIRPATH)\					@@\
		      $(LDLIBXEXT)\					@@\
		      $(LDLIBX11)\					@@\
		      $(ABSLIBDIRPATH)
#endif

#ifndef LibDirPath
#ifdef UseInstalled
#define LibDirPath -L$(LIBDIR)
#else
#define LibDirPath /* as nothing */
#endif
#endif

#ifndef XLibDirPath
#ifdef XLibDir
#define XLibDirPath -L$(XLIBDIR)
#else
#define XLibDirPath /* as nothing */
#endif
#endif

#ifndef AbsLibDirPath
#if HasDynamicSharedLibraries && !defined(UseInstalled)
#define AbsLibDirPath -L$(ABSLIBDIR)
#else
#define AbsLibDirPath /* as nothing */
#endif
#endif

#ifndef LdPath
#if !UseRpath
#ifdef UseInstalled
#define LdPath(libname) Concat(-l,libname)
#else
#define LdPath(libname) -L$(IVTOOLSSRC)/libname/$(ARCH) Concat(-l,libname)
#endif
#else
#ifdef UseInstalled
#define LdPath(libname) -Wl,-rpath,$(IVTOOLSSRC)/libname/$(ARCH) Concat(-l,libname)
#else
#define LdPath(libname) -Wl,-rpath,$(IVTOOLSSRC)/libname/$(ARCH) -L$(IVTOOLSSRC)/libname/$(ARCH) Concat(-l,libname)
#endif
#endif
#endif

#ifndef Ld_libUnidraw
#define Ld_libUnidraw LdPath(Unidraw)
#endif
#ifndef Ld_libgraphic
#define Ld_libgraphic LdPath(graphic)
#endif
#ifndef Ld_libIV
#define Ld_libIV LdPath(IV)
#endif
#ifndef Ld_libXext
#define Ld_libXext -lXext
#endif
#ifndef Ld_libX11
#define Ld_libX11 -lX11
#endif
#ifndef Ld_libm
#define Ld_libm -lm
#endif

#ifndef ExtraCCLdLibs
#define ExtraCCLdLibs Ld_libm
#endif

#ifndef ClipPolyCCLdLibs
#ifdef ClipPolyDir
#define ClipPolyCCLdLibs -L$(CLIPPOLYLIBDIR) -lclippoly
#else
#define ClipPolyCCLdLibs /**/
#endif
#endif

#ifndef ClipPolyLibDir
#ifdef ClipPolyDir
#define ClipPolyLibDir ClipPolyDir
#else
#define ClipPolyLibDir /**/
#endif
#endif

#ifndef ClipPolyLibBase 
#define ClipPolyLibBase libclipoly.so  /* only for installing symbolic link */
#endif

#ifndef AceCCLdLibs
#ifdef AceLibDir
#define AceCCLdLibs -L$(ACELIBDIR) -lACE
#else
#define AceCCLdLibs /**/
#endif
#endif

#ifndef AceLibDir
#ifdef AceDir
#define AceLibDir AceDir/ace
#else
#define AceLibDir /**/
#endif
#endif

#ifndef AceLibBase 
#define AceLibBase libACE.so  /* only for installing symbolic link */
#endif

#ifndef IueCCLdLibs
#ifdef IueDir
#if UseRpath
#define _arg -Wl,-rpath,$(IUEDIR)/lib.$(CPU) -L$(IUELIBDIR)
#else
#define _arg -L$(IUELIBDIR)
#endif
#if 0
#define IueCCLdLibs  _arg \
-lArcInfoIO \
-lBasicRelation \
-lBasics \
-lCOOL \
-lChangeDetection-AAI \
-lCompGeom \
-lCurveFormation-Brunel \
-lCurveFormation-CSU \
-lCurveFormation-IUE \
-lCurveFormation-Stanford \
-lDEXTableIO \
-lDXFIO \
-lDex2 \
-lDex2Test \
-lDexTestIUE \
-lDexTestNonIUE \
-lDigitalGeometry \
-lDigitalSurface \
-lEasyImage \
-lEdgeDetection-IUE \
-lFEXIO \
-lFitting-IUE \
-lFredIO \
-lGeometry \
-lGraphTools \
-lGroups \
-lIPGeneric \
-lIUCameras \
-lIUCamerasDEX \
-lIUE-CS-Base \
-lIUE-CS-CartesianSystem \
-lIUE-CS-ColorSystem \
-lIUE-CS-ColorTransform \
-lIUE-CS-Functional-Transform \
-lIUE-CS-GeographicSystem \
-lIUE-CS-GeographicTransform \
-lIUE-CS-GeometricSystem \
-lIUE-CS-GeometricTransform \
-lIUE-CS-HomogeneousTransform \
-lIUE-CS-NonHomogeneousTransform \
-lIUE-Container \
-lIUE-IF-Curve \
-lIUE-IF-Edgel \
-lIUE-IF-ImageFeature \
-lIUE-IF-Point \
-lIUE-IF-Region \
-lIUE-IF-Topology \
-lIUE-Image \
-lIUE-Math-Basics \
-lIUE-Root \
-lIUE-\SO-AxisAlignedBox \
-lIUE-\SO-Base \
-lIUE-\SO-BinaryOps \
-lIUE-\SO-CellLattice \
-lIUE-\SO-Conic \
-lIUE-\SO-Curve \
-lIUE-\SO-FunctionalSurface \
-lIUE-\SO-Line \
-lIUE-\SO-PlanarPatch \
-lIUE-\SO-Plane \
-lIUE-\SO-Point \
-lIUE-\SO-Rectangle \
-lIUE-\SO-Sample \
-lIUE-\SO-SampledCurve \
-lIUE-\SO-Spline \
-lIUE-\SO-Surface \
-lIUE-\SO-Topology \
-lIUE-\SO-Volume \
-lIUE-SpatialIndex \
-lIUE-Stat \
-lIUE-Unit \
-lIUE-templates \
-lIaf \
-lImageClasses \
-lImageDEX \
-lImageGeneration \
-lImageProcessing \
-lImageProcessingBasics \
-lInstances01 \
-lJPEG \
-lLineDetection-USC \
-lNumerics \
-lPointDetection-AAI \
-lPointDetection-IUE \
-lPrinting \
-lQv \
-lRegionFormation-IUE \
-lRegionsOfInterest-AAI \
-lSmallg++ \
-lSolarFeatureDetection-AAI \
-lSolver \
-lSpatialBasics \
-lSpatialObjectDEX \
-lStat \
-lSurfaceTest \
-lTIFF \
-lTargetDetection-CSU \
-lTopology \
-lTraits \
-lVRMLIO \
-lbyteTest \
-ldex_generic \
-liue-math-extensions \
-liue-math \
-lnetlib
#else
#define IueCCLdLibs  _arg \
-lCOOL \
-liue-math \
-lnetlib \
-lJPEG \
-lSmallg++ \
-lBasics \
-lNumerics \
-lImageClasses \
-lEasyImage \
-lImageProcessing \
-lInstances01 \
-lIPGeneric \
-lIUE-Image \
-lIUE-Root \
-lStat \
-lDex2 \
-lTraits \
-lIaf \
-lIUE-Container \
-lIUE-Math-Basics \
-lRegionsOfInterest-AAI \
-lIUE-\SO-CellLattice \
-lIUE-\SO-BinaryOps \
-lIUE-\SO-AxisAlignedBox \
-lIUE-\SO-Base \
-lIUE-CS-Base \
-lIUE-\SO-Point \
-lIUE-\SO-Line \
-lIUE-\SO-Curve \
-lIUE-\SO-Plane \
-lIUE-\SO-Sample \
-lIUE-\SO-Surface \
-lIUE-IF-ImageFeature \
-lIUE-IF-Region \
-lDexTestIUE \
-lIUE-Unit \
-lTIFF
#endif
#else
#define IueCCLdLibs /**/
#endif
#endif

#ifndef IueLibDir
#ifdef IueDir
#define IueLibDir IueDir/lib.$(CPU)
#else
#define IueLibDir /**/
#endif
#endif

#ifndef IueLibBase 
#define IueLibBase libIUE.so   /* only for installing symbolic link */
#endif

#ifndef QtLibDir
#ifdef QtDir
#define QtLibDir $(QTLIBS)
#else
#define QtLibDir /**/
#endif
#endif

#ifndef QtLibBase 
#define QtLibBase libQt.so  /* only for installing symbolic link */
#endif

#ifndef TiffCCLdLibs
#ifdef TiffLibDir
#define TiffCCLdLibs -L$(TIFFLIBDIR) -lTIFF
#else
#define TiffCCLdLibs /**/
#endif
#endif

#ifndef TiffLibDir
#ifdef TiffDir
#define TiffLibDir TiffDir/tiff
#else
#define TiffLibDir /**/
#endif
#endif

#ifndef TiffLibBase 
#define TiffLibBase libTIFF.so  /* only for installing symbolic link */
#endif

#ifndef OtherCCLdLibs
#define OtherCCLdLibs $(CLIPPOLY_CCLDLIBS) $(ACE_CCLDLIBS) $(IUE_CCLDLIBS) $(QT_CCLDLIBS) $(TIFF_CCLDLIBS)
#endif

#ifndef SharedCCLdLibs
#define SharedCCLdLibs /**/
#endif

#ifndef UseRpath
#define UseRpath NO
#endif

           CCLDLIBS = CCLdLibs
        IV_CCLDLIBS = IvCCLdLibs
    SHARED_CCLDLIBS = SharedCCLdLibs
     EXTRA_CCLDLIBS = ExtraCCLdLibs
#if 0 /* moved to individual Imakefile's */
     OTHER_CCLDLIBS = OtherCCLdLibs
#endif

  CLIPPOLY_CCLDLIBS = ClipPolyCCLdLibs
     CLIPPOLYLIBDIR = ClipPolyLibDir
    CLIPPOLYLIBBASE = ClipPolyLibBase
       ACE_CCLDLIBS = AceCCLdLibs
          ACELIBDIR = AceLibDir
         ACELIBBASE = AceLibBase
       IUE_CCLDLIBS = IueCCLdLibs
          IUELIBDIR = IueLibDir
         IUELIBBASE = IueLibBase
        QT_CCLDLIBS = QtCCLdLibs
           QTLIBDIR = QtLibDir
          QTLIBBASE = QtLibBase
      TIFF_CCLDLIBS = TiffCCLdLibs
         TIFFLIBDIR = TiffLibDir
        TIFFLIBBASE = TiffLibBase
	
/*
 * Define how to install a program, library, header, man page, or data file.
 */
#ifndef InstallCmd
#if SystemV || SystemV4
#ifdef UseInstalled
#define InstallCmd bsdinst
#else
#define InstallCmd $(SHELL) $(SCRIPTSRC)/bsdinst.sh
#endif
#else
#define InstallCmd install
#endif
#endif

#ifndef InstPgmFlags
#if StripInstalledPrograms
#define InstPgmFlags -s
#else
#define InstPgmFlags /**/
#endif
#endif
#ifndef InstBinFlags
#define InstBinFlags -m 0755
#endif
#ifndef InstUidFlags
#define InstUidFlags -m 4755
#endif
#ifndef InstLibFlags
#define InstLibFlags -m 0644
#endif
#ifndef InstIncFlags
#define InstIncFlags -m 0444
#endif
#ifndef InstManFlags
#define InstManFlags -m 0444
#endif
#ifndef InstDatFlags
#define InstDatFlags -m 0444
#endif
#ifndef InstKmemFlags
#define InstKmemFlags InstUidFlags    /* put -g kmem -m 2755 in local.def */
#endif

            INSTALL = InstallCmd
       INSTPGMFLAGS = InstPgmFlags      /* for stripping installed pgms */
       INSTBINFLAGS = InstBinFlags      /* install flags for binaries */
       INSTUIDFLAGS = InstUidFlags      /* install flags for setuid programs */
       INSTLIBFLAGS = InstLibFlags      /* install flags for libraries */
       INSTINCFLAGS = InstIncFlags      /* install flags for headers */
       INSTMANFLAGS = InstManFlags      /* install flags for man pages */
       INSTDATFLAGS = InstDatFlags      /* install flags for data files */
      INSTKMEMFLAGS = InstKmemFlags     /* install flags for /dev/kmem progs */

/*
 * Define other commands that Imakefiles may want to use.
 */
#ifndef ArCmd
#if HasLargeTmp || SystemV4
#define ArCmd ar cq			/* do nothing special */
#else
#define ArCmd ar clq			/* use local dir for temp files */
#endif
#endif

#ifndef AsCmd
#define AsCmd as
#endif

#ifndef CpCmd
#define CpCmd cp
#endif

#ifndef CppCmd
#define CppCmd /lib/cpp
#endif

#ifndef PreProcessCmd
#define PreProcessCmd $(CCDRIVER) -E
#endif

#ifndef LdCmd
#define LdCmd ld
#endif

#ifndef LnCmd
#if SystemV
#define LnCmd ln /* or even cp */
#else
#define LnCmd ln -s
#endif
#endif

#ifndef MkdirhierCmd
#ifdef UseInstalled
#define MkdirhierCmd mkdirhier
#else
#define MkdirhierCmd $(SHELL) $(SCRIPTSRC)/mkdirhier.sh
#endif
#endif

#ifndef MvCmd
#define MvCmd mv
#endif

#ifndef RanlibCmd
#define RanlibCmd ranlib
#endif

#ifndef RanlibInstFlags
#define RanlibInstFlags /**/
#endif

#ifndef RmCmd
#define RmCmd rm -f
#endif

#ifndef RmDirCmd
#define RmDirCmd rm -rf
#endif

#ifndef FilesToClean
#define FilesToClean ,* .emacs_* *..c *.BAK *.CKP *.a *.bak *.ln *.o\
 a.out core errs make.log make.out tags TAGS
#endif

#ifndef TroffCmd
#define TroffCmd psroff
#endif

                 AR = ArCmd
                 AS = AsCmd
                 CP = CpCmd
                CPP = CppCmd $(EXTRA_CCDEFINES) $(OTHER_CCDEFINES)
      PREPROCESSCMD = PreProcessCmd $(EXTRA_CCDEFINES) $(OTHER_CCDEFINES)
                 LD = LdCmd
                 LN = LnCmd
          MKDIRHIER = MkdirhierCmd
                 MV = MvCmd
             RANLIB = RanlibCmd
    RANLIBINSTFLAGS = RanlibInstFlags
                 RM = RmCmd
              RMDIR = RmDirCmd
             RM_CMD = $(RM) FilesToClean
              TROFF = TroffCmd

/*
 * Define where make should find uninstalled binaries, config files,
 * includes, libraries, and man pages.
 */
#ifndef TOPDIR
#define TOPDIR .
#endif

#ifndef RELTOPDIR
#define RELTOPDIR .
#endif

#ifndef CURDIR
#define CURDIR .
#endif

                TOP = TOPDIR
             RELTOP = RELTOPDIR
        CURRENT_DIR = CURDIR
#ifndef UseInstalled
              IVSRC = IvToolsSrcRoot/src
             BINSRC = $(IVSRC)/bin
          CONFIGSRC = $(RELTOP)/config
             INCSRC = $(IVSRC)/include
             LIBSRC = $(IVSRC)
             MANSRC = $(IVSRC)/man
          SCRIPTSRC = $(RELTOP)/src/scripts
#endif

/*
 * Define where make should find installed binaries, config files,
 * includes, libraries, application-specific data, and man pages.
 */
#ifndef InstalledRoot
#define InstalledRoot /usr/local
#endif

#ifndef BinDir
#define BinDir InstalledRoot/bin
#endif
#ifndef RelativeBinDir
#define RelativeBinDir $(RELTOP)/bin/$(ARCH)
#endif

#ifndef ConfigDir
#define ConfigDir InstalledRoot/lib/ivtools
#endif
#ifndef RelativeConfigDir
#define RelativeConfigDir $(TOP)/config
#endif

#ifndef IncDir
#define IncDir InstalledRoot/include
#endif
#ifndef RelativeIncDir
#define RelativeIncDir $(TOP)/include
#endif

#ifndef LibDir
#define LibDir InstalledRoot/lib
#endif
#ifndef RelativeLibDir
#define RelativeLibDir $(RELTOP)/lib/$(ARCH)
#endif

#ifndef RelLibAbsDir
#define RelLibAbsDir $(TOP)/lib/$(ARCH)
#endif

#ifndef LibAllDir
#define LibAllDir InstalledRoot/lib/ivtools
#endif
#ifndef RelativeLibAllDir
#define RelativeLibAllDir $(TOP)/lib/ivtools
#endif

#ifndef ManDir
#define ManDir InstalledRoot/man
#endif
#ifndef RelativeManDir
#define RelativeManDir $(TOP)/man
#endif

#ifndef XConfigDir
#define XConfigDir /usr/lib/X11/config
#endif

#ifndef XIncDir
#define XIncDir /usr/include
#endif

#ifndef XLibDir
#define XLibDir /usr/lib
#endif

#ifndef PSFontDir
#define PSFontDir /usr/lib/ps
#endif

#if InstallRelative
             BINDIR = RelativeBinDir    /* installed binaries */
          CONFIGDIR = RelativeConfigDir /* installed config files */
             INCDIR = RelativeIncDir    /* installed includes */
             LIBDIR = RelativeLibDir    /* installed libraries */
          LIBABSDIR = RelLibAbsDir      /* abs path to installed libraries */
          LIBALLDIR = RelativeLibAllDir /* installed app-specific data */
             MANDIR = RelativeManDir    /* installed man pages */
#else
             BINDIR = BinDir            /* installed binaries */
          CONFIGDIR = ConfigDir         /* installed config files */
             INCDIR = IncDir            /* installed includes */
             LIBDIR = LibDir            /* installed libraries */
          LIBABSDIR = LibDir            /* abs path to installed libraries */
          LIBALLDIR = LibAllDir         /* installed app-specific data */
             MANDIR = ManDir            /* installed man pages */
#endif
       ABSCONFIGDIR = ConfigDir         /* installed config files */
          ABSLIBDIR = LibDir            /* installed libraries */
       ABSLIBALLDIR = LibAllDir         /* installed app-specific data */
       RELLIBALLDIR = RelativeLibAllDir /* installed app-specific data */
         XCONFIGDIR = XConfigDir        /* installed X config files */
            XINCDIR = XIncDir           /* installed X includes */
            XLIBDIR = XLibDir           /* installed X libraries */
          PSFONTDIR = PSFontDir         /* installed PS font metrics (afm) */

#if defined(Typedef_socklen_t)&&!Typedef_socklen_t
  SOCKLEN_T_DEFINED = NO
#else
  SOCKLEN_T_DEFINED = YES
#endif
